<?php
namespace ImiApp\Module\Member\Service\Base;

use Imi\Model\Model;
use Imi\Model\Annotation\DDL;
use Imi\Model\Annotation\Table;
use Imi\Model\Annotation\Column;
use Imi\Model\Annotation\Entity;

/**
 * 学生请假 基类
 * @Entity
 * @Table(name="sc_leave_student", id={"id"})
 * @DDL("CREATE TABLE `sc_leave_student` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `uid` int(10) unsigned DEFAULT NULL COMMENT '用户id',
  `createtime` int(10) DEFAULT NULL COMMENT '提交申请日期',
  `s_time` int(10) DEFAULT NULL COMMENT '开始时间',
  `e_time` int(10) DEFAULT NULL COMMENT '结束时间',
  `status` enum('1','2','3') DEFAULT '1' COMMENT '状态:1=申请中,2=已批准,3=已拒绝',
  `apply_content` varchar(512) DEFAULT NULL COMMENT '申请内容',
  `reply_content` varchar(512) DEFAULT NULL COMMENT '答复内容',
  `jigou_id` int(10) DEFAULT NULL COMMENT '机构id',
  `class_id` int(10) DEFAULT NULL COMMENT '课程id',
  `team_id` int(10) DEFAULT NULL COMMENT '班级id',
  `team_table_id` int(10) DEFAULT NULL COMMENT '课程表id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='学生请假'")
 * @property int $id 
 * @property int $uid 用户id
 * @property int $createtime 提交申请日期
 * @property int $sTime 开始时间
 * @property int $eTime 结束时间
 * @property string $status 状态:1=申请中,2=已批准,3=已拒绝
 * @property string $applyContent 申请内容
 * @property string $replyContent 答复内容
 * @property int $jigouId 机构id
 * @property int $classId 课程id
 * @property int $teamId 班级id
 * @property int $teamTableId 课程表id
 */
abstract class ScLeaveStudentBase extends Model
{
    /**
     * id
     * @Column(name="id", type="int", length=10, accuracy=0, nullable=false, default="", isPrimaryKey=true, primaryKeyIndex=0, isAutoIncrement=true)
     * @var int
     */
    protected $id;

    /**
     * 获取 id
     *
     * @return int
     */ 
    public function getId()
    {
        return $this->id;
    }

    /**
     * 赋值 id
     * @param int $id id
     * @return static
     */ 
    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    /**
     * 用户id
     * uid
     * @Column(name="uid", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $uid;

    /**
     * 获取 uid - 用户id
     *
     * @return int
     */ 
    public function getUid()
    {
        return $this->uid;
    }

    /**
     * 赋值 uid - 用户id
     * @param int $uid uid
     * @return static
     */ 
    public function setUid($uid)
    {
        $this->uid = $uid;
        return $this;
    }

    /**
     * 提交申请日期
     * createtime
     * @Column(name="createtime", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $createtime;

    /**
     * 获取 createtime - 提交申请日期
     *
     * @return int
     */ 
    public function getCreatetime()
    {
        return $this->createtime;
    }

    /**
     * 赋值 createtime - 提交申请日期
     * @param int $createtime createtime
     * @return static
     */ 
    public function setCreatetime($createtime)
    {
        $this->createtime = $createtime;
        return $this;
    }

    /**
     * 开始时间
     * s_time
     * @Column(name="s_time", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $sTime;

    /**
     * 获取 sTime - 开始时间
     *
     * @return int
     */ 
    public function getSTime()
    {
        return $this->sTime;
    }

    /**
     * 赋值 sTime - 开始时间
     * @param int $sTime s_time
     * @return static
     */ 
    public function setSTime($sTime)
    {
        $this->sTime = $sTime;
        return $this;
    }

    /**
     * 结束时间
     * e_time
     * @Column(name="e_time", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $eTime;

    /**
     * 获取 eTime - 结束时间
     *
     * @return int
     */ 
    public function getETime()
    {
        return $this->eTime;
    }

    /**
     * 赋值 eTime - 结束时间
     * @param int $eTime e_time
     * @return static
     */ 
    public function setETime($eTime)
    {
        $this->eTime = $eTime;
        return $this;
    }

    /**
     * 状态:1=申请中,2=已批准,3=已拒绝
     * status
     * @Column(name="status", type="enum", length=0, accuracy=0, nullable=true, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $status;

    /**
     * 获取 status - 状态:1=申请中,2=已批准,3=已拒绝
     *
     * @return string
     */ 
    public function getStatus()
    {
        return $this->status;
    }

    /**
     * 赋值 status - 状态:1=申请中,2=已批准,3=已拒绝
     * @param string $status status
     * @return static
     */ 
    public function setStatus($status)
    {
        $this->status = $status;
        return $this;
    }

    /**
     * 申请内容
     * apply_content
     * @Column(name="apply_content", type="varchar", length=512, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $applyContent;

    /**
     * 获取 applyContent - 申请内容
     *
     * @return string
     */ 
    public function getApplyContent()
    {
        return $this->applyContent;
    }

    /**
     * 赋值 applyContent - 申请内容
     * @param string $applyContent apply_content
     * @return static
     */ 
    public function setApplyContent($applyContent)
    {
        $this->applyContent = $applyContent;
        return $this;
    }

    /**
     * 答复内容
     * reply_content
     * @Column(name="reply_content", type="varchar", length=512, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $replyContent;

    /**
     * 获取 replyContent - 答复内容
     *
     * @return string
     */ 
    public function getReplyContent()
    {
        return $this->replyContent;
    }

    /**
     * 赋值 replyContent - 答复内容
     * @param string $replyContent reply_content
     * @return static
     */ 
    public function setReplyContent($replyContent)
    {
        $this->replyContent = $replyContent;
        return $this;
    }

    /**
     * 机构id
     * jigou_id
     * @Column(name="jigou_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $jigouId;

    /**
     * 获取 jigouId - 机构id
     *
     * @return int
     */ 
    public function getJigouId()
    {
        return $this->jigouId;
    }

    /**
     * 赋值 jigouId - 机构id
     * @param int $jigouId jigou_id
     * @return static
     */ 
    public function setJigouId($jigouId)
    {
        $this->jigouId = $jigouId;
        return $this;
    }

    /**
     * 课程id
     * class_id
     * @Column(name="class_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $classId;

    /**
     * 获取 classId - 课程id
     *
     * @return int
     */ 
    public function getClassId()
    {
        return $this->classId;
    }

    /**
     * 赋值 classId - 课程id
     * @param int $classId class_id
     * @return static
     */ 
    public function setClassId($classId)
    {
        $this->classId = $classId;
        return $this;
    }

    /**
     * 班级id
     * team_id
     * @Column(name="team_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $teamId;

    /**
     * 获取 teamId - 班级id
     *
     * @return int
     */ 
    public function getTeamId()
    {
        return $this->teamId;
    }

    /**
     * 赋值 teamId - 班级id
     * @param int $teamId team_id
     * @return static
     */ 
    public function setTeamId($teamId)
    {
        $this->teamId = $teamId;
        return $this;
    }

    /**
     * 课程表id
     * team_table_id
     * @Column(name="team_table_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $teamTableId;

    /**
     * 获取 teamTableId - 课程表id
     *
     * @return int
     */ 
    public function getTeamTableId()
    {
        return $this->teamTableId;
    }

    /**
     * 赋值 teamTableId - 课程表id
     * @param int $teamTableId team_table_id
     * @return static
     */ 
    public function setTeamTableId($teamTableId)
    {
        $this->teamTableId = $teamTableId;
        return $this;
    }

}
